package classReflectDemo;

/**
 * 通过Class类来获取 类的其他结构
 * 
 * 包名
 * 
 * 实现的接口
 * 
 * 父类的泛型or接口的泛型
 * 
 * 注解
 * 
 * @author jie
 *
 */
public class Class_GetInfo2 {

	public static void main(String[] args) {

//		getPackageName(Student.class);
//		getInterfaceName(Student.class);
		getSuperClassName(Student.class);
	}

	/**
	 * 得到包名
	 * 
	 * @param clazz
	 */
	public static void getPackageName(Class clazz) {
		System.out.println(clazz.getPackage().getName());
	}

	/**
	 * 得到接口
	 * 
	 * @param clazz
	 */
	public static void getInterfaceName(Class clazz) {
		Class[] interfaces = clazz.getInterfaces();
		for (Class class1 : interfaces) {
			System.out.println(class1.getName());
		}
	}

	/**
	 * 得父类的类名
	 * 
	 * @param clazz
	 */
	public static void getSuperClassName(Class clazz) {
		Class clz = clazz.getSuperclass();
		System.err.println(clz.getName());
	}

}
